python读取串口16进制数

您所在的位置:网站首页 python 串口读取16进制 python读取串口16进制数

python读取串口16进制数

2023-12-12 11:04| 来源: 网络整理| 查看: 265

python3串口通信——16进制数

在调试STM32与PC进行串口通信时,二者之间需要发送各种类型的数据,如uint_8、int16_t、float等等,需要将所有类型的数据转换成uint_8类型发送,同时上位机要能转换回来。

一.下位机

uint_8 型

发送:直接利用USART_SendData函数,通常配合检测发送结束位使用,如下:

void usart1_send_data(uint8_t num){

USART_SendData(USART1, num);

while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);

}

接收:很简单,直接赋值即可。

int16_t型

发送:int16_t型涉及到补码,但是可以留到上位机解决,只要分别发送高低8位数就可以。

void send_int16_t(int16_t num){

uint8_t high_8, low_8;

low_8 = num & 0x00FF;

high_8 = (num>>8) & 0x00FF;

usart1_send_data(high_8);

usart1_send_data(low_8);

}

接收:定义一个int16_t类型的数,将接收到高低八位分别移位即可,贴的代码中的LOW和HIGH变量只是一个例子,参考这个代码改就行。

int16_t temp = 0;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3